﻿namespace Share
{
    public abstract class EventParam
    {
        /// <summary>
        /// 深拷贝事件参数。
        /// </summary>
        /// <returns>深拷贝的事件参数</returns>
        public abstract EventParam DeepClone();

        /// <summary>
        /// 合并事件参数。
        /// </summary>
        /// <param name="other">另一个事件参数</param>
        /// <returns>是否合并成功</returns>
        public abstract bool Combin(EventParam other);
    }

    public class EventParamSimple : EventParam
    {
        public override bool Combin(EventParam other)
        {
            return true;
        }

        public override EventParam DeepClone()
        {
            return null;
        }
    }
}